package com.example.miscontactos.Entidades;

import java.util.ArrayList;

import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.CommonDataKinds.Organization;

public class DireccionContacto 
{
	private String poBox;
 	private String calle;
 	private String ciudad;
 	private String estado;
 	private String codigoPostal;
 	private String pais;
 	private String tipo;
 	
 	public static ArrayList<DireccionContacto> GetDireccionesContacto(ContentResolver cr, String id)
 	{ 		
 		ArrayList<DireccionContacto> listaDirecciones = new ArrayList<DireccionContacto>();
 		 		
 		Cursor cursor = cr.query(
                ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,
                null,
                ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + id,
                null, null);
 		
 		cursor.moveToFirst();
 		while (cursor.moveToNext()) 
        {
        	DireccionContacto direccion = new DireccionContacto();
        	direccion.poBox = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
        	direccion.calle = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
        	direccion.ciudad = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
        	direccion.estado = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
        	direccion.codigoPostal = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
        	direccion.pais = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
        	direccion.tipo = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
            listaDirecciones.add(direccion);
        } 

        cursor.close();
        return(listaDirecciones);
 	}
 	
 	@Override 
 	public String toString() 
 	{
 	    StringBuilder result = new StringBuilder();
    	result.append(this.calle).append(this.ciudad);
    	if(this.codigoPostal != null)
    	{
    		result.append(" - ").append(this.codigoPostal);
    	}
 	    
 	    return result.toString();
 	  }
}
